<?php
	// Klass för att generera HTML formulär och hantering av användarens indata.
	class RegistrationView{
		// Input-variabler.
		private $reg_username = 'reg_username';
		private $reg_password = 'reg_password';
		private $reg_confirm = 'reg_confirm';
		private $reg_insert = 'reg_insert';
		private $reg_login = 'index.php';
		// Switch-värden för GetMessage().
		const REG_NO_MESSAGE = "";
		const REG_USER_EXISTS = 1;
		const REG_USER_WRONG_INPUT = 2;
		const REG_PASS_WRONG_INPUT = 3;
		const REG_NO_MATCH = 4;
		const REG_SUCCESS = 5;
		// Funktion för att skriva ut Registrerings-formulär.
		public function DoRegistrationBox($reg_message){
				return "<form id='register' method='post' accept-charset='UTF-8'>
				<fieldset>
				<label for='username' >Choose Username:</label>
				<input type='text' name='$this->reg_username' id='username'/>
				<label for='password'>Choose Password:</label>
				<input type='password' name='$this->reg_password' id='password'/>
				<label for='confirm'>Confirm Password:</label>
				<input type='password' name='$this->reg_confirm' id='confirm'/>
				<input type='submit' name='$this->reg_insert' value='Register'/>
				<a href='$this->reg_login'>Login</a>
				</fieldset>
				</form>
				$reg_message
				";
		}	
		// Funktion för att returnera användarens inmatning i Choose Username: fältet.
		public function GetRegUserName(){
			if (isset($_POST[$this->reg_username])){
				return $_POST[$this->reg_username];
			}
		}
	  	// Funktion för att returnera användarens inmatning i Choose Password: fältet.
		public function GetRegPassword(){
			if (isset($_POST[$this->reg_password])){
				return $_POST[$this->reg_password];
			}
		}
		// Funktion för att returnera användarens inmatning i Confirm Password: fältet.
		public function GetRegConfirm(){
			if (isset($_POST[$this->reg_confirm])){
				return $_POST[$this->reg_confirm];
			}
		}
	  	// Funktion för att kontrollera om användaren har klickat på Register-knappen eller inte.
		public function TriedToInsert(){
		    if (isset($_POST[$this->reg_insert])){
				return true;
			}
			return false;
		}
		// Funktion för att hantera meddelanden i Registrerings-formuläret.
		public function GetMessage($status){
			switch ($status){
				case self::REG_USER_EXISTS:
					$reg_message = "Username already exists, choose another username!";
					break;
				case self::REG_USER_WRONG_INPUT:
					$reg_message = "Username field can not be empty and must contain 6-20 characters!";
					break;
				case self::REG_PASS_WRONG_INPUT:
					$reg_message = "Password field can not be empty and must contain 6-12 characters!";
					break;
				case self::REG_NO_MATCH:
					$reg_message = "Password confirmation does not match password!";
					break;
				case self::REG_SUCCESS:
					$reg_message = "You are registered, welcome!";
					break;
				default:			
					break;
			}
			return $reg_message;
		}
	}
?>